package com.github.easyms.common.util;

import java.security.MessageDigest;

/**
 * 加密工具
 *
 * @author Leo.Liao
 * @date 2020-04-10 12:17:09
 */
public class EncryptionHelper {

    public static final String MD5_ALGORITHM = "MD5";

    /**
     * MD5加密
     * @param str
     * @param salt
     * @return
     */
    public static String md5Encrypt(String str,String salt) {
        try {
            MessageDigest md = MessageDigest.getInstance(MD5_ALGORITHM);
            str += salt;
            byte[] digest = md.digest(str.getBytes());
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < digest.length; ++i) {
                sb.append(Integer.toHexString((digest[i] & 0xFF) | 0x100).substring(1, 3));
            }
            return sb.toString();
        } catch (Exception e) {
            return null;
        }
    }

//    public static void main(String[] args) {
//        String command = "A3B5c2D9E6";
//        // 构造新的纯字母字符串
//        String letterStr = "";
//        String numStr = "";
//        for(int index=0; index < command.length(); index++){
//            if(command.charAt(index) < 48 || command.charAt(index) > 57){
//                letterStr += command.charAt(index);
//            }else{
//                numStr += command.charAt(index);
//            }
//        }
//        // 构造目标字符串
//        String newStr = "";
//        for(int index = 0; index < letterStr.length(); index++){
//
//            char indexNumChar = numStr.charAt(index);
//            int indexNum = Integer.parseInt(indexNumChar+"");
//            for(int newIndex = 0; newIndex < indexNum; newIndex++){
//                newStr += letterStr.charAt(index);
//            }
//
//        }
//        // 输出结果
//        System.out.println(newStr);
//    }

}
